package com.jingtai.core.entity.pay;


import com.baomidou.mybatisplus.annotation.TableName;
import com.jingtai.core.entity.BaseEntity;
import com.jingtai.validate.swagger.CApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;

import io.swagger.annotations.*;

import java.math.BigDecimal;

import java.util.Date;

/**
 * 商品退款订单表
 * 
 * @author sunlaiqian
 * @date 2020-12-02 15:08:11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("shop_goods_refund")
@ApiModel(value = "商品退款订单表", description = "商品退款订单表")
public class GoodsRefund  extends BaseEntity implements Serializable {




	/**
	 * 订单总编号
	 */
	@CApiModelProperty(value = "订单总编号")
	private String orderTotalCode;

	/**
	 * 订单子编号
	 */
	@CApiModelProperty(value = "订单子编号")
	private String orderChildCode;

	/**
	 * 商户id
	 */
	@CApiModelProperty(value = "商户id")
	private Long merchantsId;

	/**
	 * 退款单号
	 */
	@CApiModelProperty(value = "退款单号")
	private String refundCode;

	/**
	 * 供应商ID
	 */
	@CApiModelProperty(value = "供应商ID")
	private Long supplyId;

	/**
	 * 供货来源 (1.商户;2.供应商)
	 */
	@CApiModelProperty(value = "供货来源 (1.商户;2.供应商)")
	private Integer refundToType;

	/**
	 * 用户id
	 */
	@CApiModelProperty(value = "用户id")
	private Long memberId;

	/**
	 * 收货地址ID
	 */
	@CApiModelProperty(value = "收货地址ID")
	private Long addressId;

	/**
	 * 商品ID
	 */
	@CApiModelProperty(value = "商品ID")
	private Long goodsId;

	/**
	 * 总订单金额
	 */
	@CApiModelProperty(value = "总订单金额")
	private BigDecimal totalPrice;

	/**
	 * 申请退款金额
	 */
	@CApiModelProperty(value = "申请退款金额")
	private BigDecimal applyRefundPrice;

	/**
	 * 实际退款金额
	 */
	@CApiModelProperty(value = "实际退款金额")
	private BigDecimal actualRefundPrice;

	/**
	 * 退款方式 0:微信，1：支付宝
	 */
	@CApiModelProperty(value = "退款方式 0:微信，1：支付宝")
	private Integer refundType;

	/**
	 * 退款状态 0:未发起退款  10：申请退款  20：退款中  30：退款完成  40：退款失败  50:撤销退款
	 */
	@CApiModelProperty(value = "退款状态 0:未发起退款  10：申请退款  20：退款中  30：退款完成  40：退款失败  50:撤销退款")
	private Integer refundState;

	/**
	 * 退货原因
	 */
	@CApiModelProperty(value = "退货原因")
	private String refundWhy;

	/**
	 * 退款记录说明
	 */
	@CApiModelProperty(value = "退款记录说明")
	private String refundInstructions;

	/**
	 * 退款时间
	 */
	@CApiModelProperty(value = "退款时间")
	private Date refundTime;

}
